package cn.itcast.service;


import cn.itcast.entity.PageResult;
import cn.itcast.entity.QueryPageBean;
import cn.itcast.pojo.Role;
import cn.itcast.pojo.User;

import java.util.List;
import java.util.Set;

public interface UserService {

    /**
     * 查询用户管理列表
     * @param queryPageBean 查询条件
     * @return
     */
    PageResult findPage(QueryPageBean queryPageBean);


    /**
     * 新增用户
     * @param user 用户信息
     * @return
     */
    Boolean handleAdd(int[] roleIds, User user);


    /**
     * 根据id查询用户信息
     * @param id 用户id
     * @return
     */
    User findUserById(Integer id);


    /**
     * 根据id查询用户角色
     * @param id 用户id
     * @return
     */
    List<Integer> findRoleById(Integer id);


    /**
     * 编辑用户
     * @param roleIds 角色id集合
     * @param user 用户信息
     * @return
     */
    Boolean handleEdit(int[] roleIds, User user);



    /**
     * 根据id删除用户
     * @param id  用户id
     * @return
     */
    Boolean handleDelete(Integer id);


    /**
     * 登陆
     * @param username
     * @return
     */
    User findByUsername(String username);






    List<String> findRoleByUsername(String username);

    List<String> findPermissionByUsername(String username);

    User findUserByUsername(String username);
}
